Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: new blog post "Introduce aw-tauri" #34

Open
wants to merge 22 commits into
base: master
Choose a base branch
from

Conversation

brayo-pip
Copy link
Member

Hi, I worked up this as the first draft. Let me know what you think

Copy link
Member

@ErikBjare ErikBjare left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work!

Here are my comments so far.


Also: I feel tempted to turn this into a general "Developer Update 2024" post, which would then also mention:

  • sync progress
  • server-side settings
  • aw-notify (although it is briefly mentioned here)
  • Upcoming v0.13.0 (when? idk)

But this might all be too much, perhaps I should just write that as a separate post.


## Why Tauri

Tauri apps are lightweight, memory efficient and secure by design. Tauri does not ship a renderer but uses the platform native renderer via webviews. This simple design choice makes the app size compact and memory efficient during runtime, as compared to electron apps. Tauri apps are secure, only interacting with the host systems through tauri apis. This protects the host computer from arbitary code execution (at least in theory).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tauri apps are secure, only interacting with the host systems through tauri apis. This protects the host computer from arbitary code execution (at least in theory).

While this is true if you build an app the "tauri way", we are running a HTTP server, so we still need to take precautions to not expose sensitive information to other network devices and websites.

_posts/2024-05-5-introducing-tauri.md Outdated Show resolved Hide resolved

Aw-tauri is built with the [rust server](https://github.com/ActivityWatch/aw-server-rust) serving the backend and a UI written in Vue. It takes almost no time to get upto speed with the project!

Cross platform development before tauri was a hassle. Binaries had to be built and tested for each target platform separately. Tauri greatly simplifies this.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to expand on this, going into our long history of struggling with PyInstaller etc.
(I can write it, just leaving the comment here)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, you could write that bit... I'll add you as a co-author in the credits. I also considered showing the makefiles for before and after. Just how much easier it is to set up with Tauri. Might make the post too long Idk.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I don't see a ton of value in going into the details and quoting code, but we could drop some links to source files.

_posts/2024-05-5-introducing-tauri.md Outdated Show resolved Hide resolved
_posts/2024-05-5-introducing-tauri.md Outdated Show resolved Hide resolved
_posts/2024-05-5-introducing-tauri.md Outdated Show resolved Hide resolved
@brayo-pip
Copy link
Member Author

Great work!

Here are my comments so far.

Also: I feel tempted to turn this into a general "Developer Update 2024" post, which would then also mention:

* sync progress

* server-side settings

* aw-notify (although it is briefly mentioned here)

* Upcoming v0.13.0 (when? idk)

But this might all be too much, perhaps I should just write that as a separate post.

I will write a second draft mentioning aw-notify, and sync. I am not aware of server-side settings, is this syncing preferences between browsers? We'll decide on whether to redo the post "Developer Update 2024"

@ErikBjare
Copy link
Member

ErikBjare commented May 3, 2024

I am not aware of server-side settings, is this syncing preferences between browsers?

Yes!

We'll decide on whether to redo the post "Developer Update 2024"

I feel pretty strongly that aw-tauri should get its own post.

@brayo-pip
Copy link
Member Author

I will get started on the second draft. I'll just focus on aw-tauri for now. Then you can do the developer update post later

Comment on lines 23 to 32
## User Experience

`aw-tauri` aims to consolidate much of the functionality that is currently implemented in [`aw-qt`](https://github.com/ActivityWatch/aw-qt), [`aw-server-rust`](https://github.com/ActivityWatch/aw-server-rust), and [`aw-notify`](https://github.com/ActivityWatch/aw-notify).

- It houses its own webview, no need to visit `http://localhost:5600` in your browser anymore.
- Watchers can be started and stopped right from the trayicon, just like in `aw-qt`.
- Updates can be pushed seemlessly across platforms provided by tauri's update system!
- [aw-sync](https://github.com/ActivityWatch/aw-server-rust/tree/master/aw-sync), which is still in active development, will be integrated into the app. Syncing data across devices will be just as seamless.

These are only the first steps to getting aw-tauri usable, but most of all it serves as a stable foundation enabling many improvements down the line.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably move this section above the "Developer Experience" section.

- Updates can be pushed seemlessly across platforms provided by tauri's update system!
- [aw-sync](https://github.com/ActivityWatch/aw-server-rust/tree/master/aw-sync), which is still in active development, will be integrated into the app. Syncing data across devices will be just as seamless.

These are only the first steps to getting aw-tauri usable, but most of all it serves as a stable foundation enabling many improvements down the line.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to change this line to something else.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Avoid renaming the file before we publish, it makes it hard to read the diff.

Comment on lines +37 to +43
## Conclusion

`aw-tauri` is still in active development, contributions are welcome and encouraged!

Check out the [README](https://github.com/ActivityWatch/aw-tauri/blob/master/README.md) to see the status of development, and where you can help out.

We are hopeful that it will help solve many of our remaining challenges, and are excited to see it help shape the future of ActivityWatch.
Copy link
Member

@ErikBjare ErikBjare Jul 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to add links here to an early release that people can test themselves (possibly with many caveats).

@ErikBjare ErikBjare changed the title feat: Introduce aw-tauri docs: new blog post "Introduce aw-tauri" Jul 8, 2024
@brayo-pip
Copy link
Member Author

The last commit is unrelated to this PR I just noticed while visiting the website.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants